package spring_01_ioc.iocTest;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import spring_01_ioc.ioc.HelloIoc;

public class HelloIocTest2 {
	//spring 容器默认产生对象是单例的 scope="singleton"
    @Test
    public void test_scope_single_CreateObject(){
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        HelloIoc hello1 = (HelloIoc) context.getBean("helloIoc");
        HelloIoc hello2 = (HelloIoc) context.getBean("helloIoc");
        System.out.println(hello1.equals(hello2)); //true
    }
    
    //一、默认scope的值是singleton，即产生的对象是单例的
    //二、scope=“prototype” 多例模式，并且spring容器启动的时候并不会创建对象，而是在得到 bean 的时候才会创建对象
    //总结：在单例模式下，启动 spring 容器，便会创建对象；在多例模式下，启动容器并不会创建对象，获得 bean 的时候才会创建对象
}
